#!/bin/bash
# 修复pom.xml文件，添加必要的依赖项（Linux/macOS版本）

# 检查pom.xml文件是否存在
if [ ! -f pom.xml ]; then
    echo "错误：pom.xml文件不存在！"
    exit 1
fi

# 备份原始pom.xml文件
cp pom.xml pom.xml.bak
if [ $? -ne 0 ]; then
    echo "错误：无法创建pom.xml的备份！"
    exit 1
fi

# 替换文件内容
# 先检查是否已有dependencies部分
if grep -q '</dependencies>' pom.xml; then
    echo "pom.xml文件中已包含dependencies部分，无需修复。"
    exit 0
fi

# 使用sed命令添加dependencies部分
sed -i '' 's|</properties>\s*</project>|</properties>\
\
    <dependencies>\
        <!-- MySQL驱动包 -->\
        <dependency>\
            <groupId>mysql</groupId>\
            <artifactId>mysql-connector-java</artifactId>\
            <version>8.0.33</version>\
        </dependency>\
\
        <!-- MyBatis核心包 -->\
        <dependency>\
            <groupId>org.mybatis</groupId>\
            <artifactId>mybatis</artifactId>\
            <version>3.5.13</version>\
        </dependency>\
\
        <!-- JUnit测试包 -->\
        <dependency>\
            <groupId>org.junit.jupiter</groupId>\
            <artifactId>junit-jupiter-api</artifactId>\
            <version>5.9.2</version>\
            <scope>test</scope>\
        </dependency>\
        <dependency>\
            <groupId>org.junit.jupiter</groupId>\
            <artifactId>junit-jupiter-engine</artifactId>\
            <version>5.9.2</version>\
            <scope>test</scope>\
        </dependency>\
    </dependencies>\
\
</project>|' pom.xml

if [ $? -ne 0 ]; then
    echo "错误：无法更新pom.xml文件！"
    exit 1
fi

# 添加执行权限
chmod +x fix_pom_xml.sh

# 添加修复脚本到.gitignore（如果不存在）
if [ ! -f .gitignore ]; then
    echo "fix_pom_xml.bat" > .gitignore
    echo "fix_pom_xml.sh" >> .gitignore
else
    if ! grep -q "fix_pom_xml.bat" .gitignore; then
        echo "fix_pom_xml.bat" >> .gitignore
        echo "fix_pom_xml.sh" >> .gitignore
    fi
fi

echo "pom.xml文件修复成功！已添加所有必要的依赖项。"
echo "原始文件已备份为pom.xml.bak"
echo ""
echo "请在IDE中刷新Maven项目以加载新的依赖项。"